﻿$(document).ready(khoiTao);
//ready lúc bắt đầu
function khoiTao() {
    $('.popup-link').on('click', function (event) {
        _createPopup(event);
    });

    $('.show-next').on('click', function () {
        chuyenDoiTheKeTiep(this);
    });

    $('.title').click(function () {
        $(this).next().toggle(300);                
    });

    $(document).trigger('ajaxContainer');

    //Menu
    $('#tool-menu li > a').click(function () {
        $(this).parent().children('ul').slideToggle();
    })

    khoiTaoCot1();

    //Calendar
    $('#calendar-box .previous-button').click(ngayTruoc);
    $('#calendar-box .next-button').click(ngaySau);
    $('#calendar-box .now-button').click(ngayHienTai);

    CapNhatBoDem();
}

function thongBaoLoi(text) {
    window.location = '/?loi=' + text;
}

function CapNhatBoDem() {
    _ajax(
        '/Shared/HienTrang',
        null,
        'POST',
        'json',
        function (data) {
            if (data.trangThai == 'OK') {
                var $hopDem = $('#hop-dem');
                $hopDem.find('.khach-truc-tuyen').text(data.khach);
                $hopDem.find('.thanh-vien-truc-tuyen').text(data.thanhVien);
                $hopDem.find('.luot-da-truy-cap').text(data.truyCap);
            }
            setTimeout(function () { CapNhatBoDem() }, 480000);
        },
        function () {
            setTimeout(function () { CapNhatBoDem() }, 480000);
        },
        ''
    );
}

function chuyenDoiTheKeTiep(object) {
    $($(object).next().fadeToggle(300).attr('data-focus')).focus();    
}

function tatDoiTuong(obj, anim1, anim2) {
    obj = $(obj);
    obj.animate(anim1, 300);
    setTimeout(function () {
        obj.animate(anim2, 500);
    }, 200);
    setTimeout(function () {
        obj.remove();
    }, 800);
}
function tatDoiTuong_Cao(obj) {
    obj = $(obj);
    obj.animate({
        opacity: 0
    }, 300);
    setTimeout(function () {
        obj.animate({
            height: 0
        }, 500);
    }, 200);
    setTimeout(function () {
        obj.remove();
    }, 800);
}
function tatDoiTuong_Ngang(obj) {
    obj = $(obj);
    obj.animate({
        opacity: 0
    }, 300);
    setTimeout(function () {
        obj.animate({
            width: 0
        }, 500);
    }, 200);
    setTimeout(function () {
        obj.remove();
    }, 800);
}

/*
    Column 1
*/
function khoiTaoCot1() {
    $('#thong-bao').on('click', function () { tatDoiTuong_Cao(this) });
}

/*
    Column 2
*/
function hienThiMenu(id) {
    var doiTuong = $('#' + id);

    //Add class vào đối tượng đó
    doiTuong.addClass('muc-hien-tai');

    //Add class cho đối tượng cha
    doiTuong.parents('li').addClass('hien-tai');
}

/*
    Column 3
*/
/*
    Xử lý calendar
*/
var thangHienTai, namHienTai;

    $(function () {
        capNhatThoiGianHienTai();
    })

    function chuyenSoQuaThu(so) {
        switch (so) {
            case 0: return 'chủ nhật';
            case 1: return 'thứ hai';
            case 2: return 'thứ ba';
            case 3: return 'thứ tư';
            case 4: return 'thứ năm';
            case 5: return 'thứ sáu';
            case 6: return 'thứ bảy';
        }
    }

    //load ngày hiện tại 
    function capNhatThoiGianHienTai() {
        var $khungChuaLich = $('#calendar-box');
        var $thoiGian = new Date();
    
        thangHienTai = $thoiGian.getMonth() + 1;
        namHienTai = $thoiGian.getFullYear();

        $khungChuaLich.find('.date').html($thoiGian.getDate());
        $khungChuaLich.find('.full-date').html(
                chuyenSoQuaThu($thoiGian.getDay()) + '<br />' +
                'tháng ' +( $thoiGian.getMonth() + 1) + ' năm ' + $thoiGian.getFullYear()
            );
        capNhatLich($thoiGian.getMonth() + 1, $thoiGian.getFullYear());
        $khungChuaLich.find('.event').html('');
    }

    //Truyền vào tháng, năm cần update
    function capNhatLich(thang, nam) {
        //Ngày âm 1 của tháng sau (0) là ngày cuối cùng của tháng cần tìm
        var ngayToiDa = new Date(nam, thang, 0).getDate();
        //Chọn ngày 1 -> ngày bắt đầu
        var ngayBatDau = new Date(nam, thang - 1, 1).getDay();

        var index;
        var ngay = 1;
        var htmlLich = '';

        //Tạo ô trống với các ngày đầu tiên
        htmlLich += '<tr>'
        for (index = 0; index < ngayBatDau; index++) {
            htmlLich += '<td>&nbsp;</td>'
        }
        for (; index < 7; index++) {
            htmlLich += '<td id="date' + ngay + '"><a href="#">' + (ngay++) + '</a></td>'
        }
        htmlLich += '</tr>'

        //Tạo các ô còn lại cho đến khi hết 
        while (ngay <= ngayToiDa)
        {
            htmlLich += '<tr>';
            var i;
            for (i = 0; i < 7 && ngay <= ngayToiDa; i++) {
                htmlLich += '<td id="date' + ngay + '"><a href="#">' + (ngay++) + '</a></td>'
            }
            if (ngay > ngayToiDa) {
                for (; i < 7; i++) {
                    htmlLich += '<td>&nbsp;</td>'
                }
            }
            htmlLich += '</tr>';
        }

        var $khungChuaLich = $('#calendar-box');
        $khungChuaLich.find('tbody').html(htmlLich);
        $khungChuaLich.find('.control div').html(thangHienTai + ' - ' + namHienTai);
    }

    function ngayTruoc() {
        if (thangHienTai == 1) {
            thangHienTai = 12;
            namHienTai--;
        }
        else {
            thangHienTai--;
        }
        capNhatLich(thangHienTai, namHienTai);
    }

    function ngaySau() {
        if (thangHienTai == 12) {
            thangHienTai = 1;
            namHienTai++;
        }
        else {
            thangHienTai++;
        }
        capNhatLich(thangHienTai, namHienTai);
    }

    function ngayHienTai() {
        var thoiGian = new Date();
        thangHienTai = thoiGian.getMonth() + 1;
        namHienTai = thoiGian.getFullYear();
        capNhatLich(thangHienTai, namHienTai);
    }